﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using QuanLyHocPhi.BLL;
using QuanLyHocPhi.Model;

namespace QuanLyHocPhi.GUI.DuLieu
{
    public partial class FormBienCheSinhVien : FormBase
    {
        SinhVien sv;
        public FormBienCheSinhVien(SinhVien sv)
        {
            InitializeComponent();
            this.sv = sv;
            if (sv != null)
                lbSinhVien.Text = string.Format("{0} {1}", sv.HoDem, sv.Ten);
            gridBienChe.ReadOnly = true;
            gridBienChe.AllowUserToAddRows = false;
            gridBienChe.AllowUserToDeleteRows = false;
            gridBienChe.AutoGenerateColumns = false;
            colHocKy.DataPropertyName = "TenHocKy";
            colNamHoc.DataPropertyName = "NamHoc";
            colMucThu_HocPhi.DataPropertyName = "HocPhi";
            colMucThu_HocPhi.DefaultCellStyle.Format = "#,###";
            colMucThu_LePhi.DataPropertyName = "LePhi";
            colMucThu_LePhi.DefaultCellStyle.Format = "#,###";
            LoadDS();
        }

        void LoadDS()
        {
            var ls = BizBienCheSinhVienVaoHocKy.GetBienCheSinhVien(sv.MaSinhVien);
            bsBienChe.DataSource = ls;
            gridBienChe.DataSource = bsBienChe;
        }


        private void btnMucThu_Sua_Click(object sender, EventArgs e)
        {

        }

        private void btnMucThu_Xoa_Click(object sender, EventArgs e)
        {
            var bc = bsBienChe.Current as BienCheSinhVienVaoHocKy;
            if (bc != null)
            {
                var lsPT = BizPhieuThu.GetListPhieuThuTheoHocKy(bc.MaBienChe);
                if (lsPT != null && lsPT.Count > 0)
                {
                    var rs = true;
                    if (DialogUtils.ShowYesNo("Đã thu lệ/học phí của sinh viên trong học kỳ này\r\n. Nếu xóa thì sẽ luôn các phiếu thu này.\r\n Bạn có chắc muốn xóa?")
                        == System.Windows.Forms.DialogResult.Yes)
                    {
                        foreach (var pt in lsPT)
                        {
                            if (!BizPhieuThu.Delete(pt.MaPhieuThu))
                                rs = false;
                        }
                        if (!BizBienCheSinhVienVaoHocKy.Delete(bc.MaBienChe))
                            rs = false;
                        if (rs)
                        {
                            DialogUtils.ShowMessage("Đã xóa dữ liệu thành công");
                            LoadDS();
                        }
                        else
                            DialogUtils.ShowError("Đã có lỗi xảy ra.");
                    }
                }
                else
                {
                    var rs = true;
                    if (DialogUtils.ShowYesNo("Bạn có chắc muốn xóa?")
                        == System.Windows.Forms.DialogResult.Yes)
                    {
                        if (!BizBienCheSinhVienVaoHocKy.Delete(bc.MaBienChe))
                            rs = false;
                        if (rs)
                        {
                            DialogUtils.ShowMessage("Đã xóa dữ liệu thành công");
                            LoadDS();
                        }
                        else
                            DialogUtils.ShowError("Đã có lỗi xảy ra.");
                    }
                }
            }
        }
    }
}
